<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <input type="text" class="inp1">
  <button class="btn">判断是否闰年</button>
  <input type="text" class="inp2">
  <hr>

  <script>
    //1.JS是什么

    //2.JS的数据类型有哪几种，哪些是简单类型变量，哪些是复杂类型变量，它们有什么区别
    // 简单
    // Number


    // parseInt()  将字符串切割成一个一个字符, 遇到非数值就停止转化(就会识别为NaN, ps: 可以用isNaN()判断), 后面即使有数值也忽略掉l进制的转化
    // parseFloat()  只识别第一个小数点, 后面的会忽略掉 610988826
    // Number() 直接数值转化
    // String


    // Boolean

    // true <=>1       false<=>0
    // if(这里是boolean)

    // null
    // undefined
    // symbol

    // 复杂

    // Object {}

    // Array  []

    // function 函数名(){}
    // function(){}  匿名函数,一次性的,不能再调用

    // 闭包跟作用域有关

    //3.用代码来表示具体如何定义JS的各种类型变量  在上面 

    //4.undefined和Null的区别
    // undefined 简单类型: 空值
    // unll 复杂类型: 空指针(引用数据类型)


    // null表示"没有对象"，即该处不应该有值
    // undefined表示"缺少值"，就是此处应该有一个值，但是还没有定义。
    //5.script标签写在页面头部和底部，有何区别
    // ps:js是单线程的，一旦报错，下面的东西都GG
    // 写在底部是因为加载的时候，是从上到下读取的


    //6.如何保证在页面基本结构和样式加载后，再执行我们的JS脚本

    //7.如何判断一个变量是属于哪种变量类型（字符串、数值、布尔值、Null、undefined、对象、数组、函数）

    // 最好的方法
    // call apply bind this

    // let num = 123;
    // let str = "123"
    // let isShow = Boolean;
    // let _null = null;
    // let _und = undefined;
    // let arr = [1, 2, 3];
    // let obj = {
    //   name: "asd"
    // }
    // let f1 = function () {
    //   console.log("sada");

    // }

    // console.log(typeof num);

    // console.log(obj instanceof Object);

    // console.log(Object.prototype.toString.call(num));
    // console.log(Object.prototype.toString.call(str));
    // console.log(Object.prototype.toString.call(isShow));
    // console.log(Object.prototype.toString.call(_null));
    // console.log(Object.prototype.toString.call(_und));
    // console.log(Object.prototype.toString.call(arr));
    // console.log(Object.prototype.toString.call(obj));
    // console.log(Object.prototype.toString.call(f1));



    //8.JS的注释写法有哪几种，有何区别

    //9.javascript引入页面有几种形式

    //10.var 的意义何在

    // 块作用域
    // 暂时性死区

    //11.已知数A与B，由键盘输入AB的值，交换它们的值，并输出。
    //提示，获取用户输入信息，可以使用 var user_input = prompt("请输入数字");

    // [x,y]=[y,x]


    // let z = 789;
    // [x, y, z] = [2, z, "123"];
    // console.log(x, y, z);










    // switch (name) {
    //   case "jt":
    //     alert('啊啊啊啊');
    //     break;
    //   case "ejt":
    //     alert('噢噢噢噢');
    //     break;
    //   case "ejin":
    //     alert("呃呃呃");
    //     break;
    //   default:
    //     alert("噫噫噫");
    // }

    let inp1 = document.querySelector(".inp1");
    let btn = document.querySelector(".btn");
    let inp2 = document.querySelector(".inp2");


    btn.addEventListener("click", function () {
      let num = inp1.value;
      if ((num % 4 === 0 && num % 100 != 0) || num % 400 === 0) {
        inp2.value = num + "是闰年";
      } else {
        inp2.value = num + "不是闰年"
      }
    });


    // let x = 3, y = 4, z = 5, temp;
    // if (x > y) {
    //   temp = x;
    // } else {
    //   temp = y;
    // }
    // if (temp < z) {
    //   temp = z;
    // }
    // console.log(temp);









  </script>

</body>

</html>